// Copyright (C) 2018 The Android Open Source Project
// Copyright (C) 2018 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Autogenerated module goldfish_vk_counting_guest
// (header) generated by android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/genvk.py -registry android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/vk.xml cereal -o android/android-emugl/host/libs/libOpenglRender/vulkan/cereal
// Please do not modify directly;
// re-run android/scripts/generate-vulkan-sources.sh,
// or directly from Python by defining:
// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
// CEREAL_OUTPUT_DIR: Where to put the generated sources.
// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR

#pragma once

#include <vulkan/vulkan.h>


#include "vk_platform_compat.h"
#include "goldfish_vk_private_defs.h"


namespace goldfish_vk {

#ifdef VK_VERSION_1_0
void count_VkExtent2D(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExtent2D* toCount,
    size_t* count);

void count_VkExtent3D(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExtent3D* toCount,
    size_t* count);

void count_VkOffset2D(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkOffset2D* toCount,
    size_t* count);

void count_VkOffset3D(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkOffset3D* toCount,
    size_t* count);

void count_VkRect2D(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRect2D* toCount,
    size_t* count);

void count_VkBaseInStructure(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBaseInStructure* toCount,
    size_t* count);

void count_VkBaseOutStructure(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBaseOutStructure* toCount,
    size_t* count);

void count_VkBufferMemoryBarrier(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferMemoryBarrier* toCount,
    size_t* count);

void count_VkDispatchIndirectCommand(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDispatchIndirectCommand* toCount,
    size_t* count);

void count_VkDrawIndexedIndirectCommand(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDrawIndexedIndirectCommand* toCount,
    size_t* count);

void count_VkDrawIndirectCommand(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDrawIndirectCommand* toCount,
    size_t* count);

void count_VkImageSubresourceRange(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageSubresourceRange* toCount,
    size_t* count);

void count_VkImageMemoryBarrier(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageMemoryBarrier* toCount,
    size_t* count);

void count_VkMemoryBarrier(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryBarrier* toCount,
    size_t* count);

void count_VkAllocationCallbacks(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAllocationCallbacks* toCount,
    size_t* count);

void count_VkApplicationInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkApplicationInfo* toCount,
    size_t* count);

void count_VkFormatProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFormatProperties* toCount,
    size_t* count);

void count_VkImageFormatProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageFormatProperties* toCount,
    size_t* count);

void count_VkInstanceCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkInstanceCreateInfo* toCount,
    size_t* count);

void count_VkMemoryHeap(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryHeap* toCount,
    size_t* count);

void count_VkMemoryType(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryType* toCount,
    size_t* count);

void count_VkPhysicalDeviceFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceLimits(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceLimits* toCount,
    size_t* count);

void count_VkPhysicalDeviceMemoryProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMemoryProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceSparseProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSparseProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceProperties* toCount,
    size_t* count);

void count_VkQueueFamilyProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkQueueFamilyProperties* toCount,
    size_t* count);

void count_VkDeviceQueueCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceQueueCreateInfo* toCount,
    size_t* count);

void count_VkDeviceCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceCreateInfo* toCount,
    size_t* count);

void count_VkExtensionProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExtensionProperties* toCount,
    size_t* count);

void count_VkLayerProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkLayerProperties* toCount,
    size_t* count);

void count_VkSubmitInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubmitInfo* toCount,
    size_t* count);

void count_VkMappedMemoryRange(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMappedMemoryRange* toCount,
    size_t* count);

void count_VkMemoryAllocateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryAllocateInfo* toCount,
    size_t* count);

void count_VkMemoryRequirements(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryRequirements* toCount,
    size_t* count);

void count_VkSparseMemoryBind(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSparseMemoryBind* toCount,
    size_t* count);

void count_VkSparseBufferMemoryBindInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSparseBufferMemoryBindInfo* toCount,
    size_t* count);

void count_VkSparseImageOpaqueMemoryBindInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSparseImageOpaqueMemoryBindInfo* toCount,
    size_t* count);

void count_VkImageSubresource(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageSubresource* toCount,
    size_t* count);

void count_VkSparseImageMemoryBind(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSparseImageMemoryBind* toCount,
    size_t* count);

void count_VkSparseImageMemoryBindInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSparseImageMemoryBindInfo* toCount,
    size_t* count);

void count_VkBindSparseInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindSparseInfo* toCount,
    size_t* count);

void count_VkSparseImageFormatProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSparseImageFormatProperties* toCount,
    size_t* count);

void count_VkSparseImageMemoryRequirements(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSparseImageMemoryRequirements* toCount,
    size_t* count);

void count_VkFenceCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFenceCreateInfo* toCount,
    size_t* count);

void count_VkSemaphoreCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSemaphoreCreateInfo* toCount,
    size_t* count);

void count_VkEventCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkEventCreateInfo* toCount,
    size_t* count);

void count_VkQueryPoolCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkQueryPoolCreateInfo* toCount,
    size_t* count);

void count_VkBufferCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferCreateInfo* toCount,
    size_t* count);

void count_VkBufferViewCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferViewCreateInfo* toCount,
    size_t* count);

void count_VkImageCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageCreateInfo* toCount,
    size_t* count);

void count_VkSubresourceLayout(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubresourceLayout* toCount,
    size_t* count);

void count_VkComponentMapping(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkComponentMapping* toCount,
    size_t* count);

void count_VkImageViewCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageViewCreateInfo* toCount,
    size_t* count);

void count_VkShaderModuleCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkShaderModuleCreateInfo* toCount,
    size_t* count);

void count_VkPipelineCacheCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineCacheCreateInfo* toCount,
    size_t* count);

void count_VkSpecializationMapEntry(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSpecializationMapEntry* toCount,
    size_t* count);

void count_VkSpecializationInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSpecializationInfo* toCount,
    size_t* count);

void count_VkPipelineShaderStageCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineShaderStageCreateInfo* toCount,
    size_t* count);

void count_VkComputePipelineCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkComputePipelineCreateInfo* toCount,
    size_t* count);

void count_VkVertexInputBindingDescription(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkVertexInputBindingDescription* toCount,
    size_t* count);

void count_VkVertexInputAttributeDescription(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkVertexInputAttributeDescription* toCount,
    size_t* count);

void count_VkPipelineVertexInputStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineVertexInputStateCreateInfo* toCount,
    size_t* count);

void count_VkPipelineInputAssemblyStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineInputAssemblyStateCreateInfo* toCount,
    size_t* count);

void count_VkPipelineTessellationStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineTessellationStateCreateInfo* toCount,
    size_t* count);

void count_VkViewport(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkViewport* toCount,
    size_t* count);

void count_VkPipelineViewportStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineViewportStateCreateInfo* toCount,
    size_t* count);

void count_VkPipelineRasterizationStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineRasterizationStateCreateInfo* toCount,
    size_t* count);

void count_VkPipelineMultisampleStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineMultisampleStateCreateInfo* toCount,
    size_t* count);

void count_VkStencilOpState(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkStencilOpState* toCount,
    size_t* count);

void count_VkPipelineDepthStencilStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineDepthStencilStateCreateInfo* toCount,
    size_t* count);

void count_VkPipelineColorBlendAttachmentState(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineColorBlendAttachmentState* toCount,
    size_t* count);

void count_VkPipelineColorBlendStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineColorBlendStateCreateInfo* toCount,
    size_t* count);

void count_VkPipelineDynamicStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineDynamicStateCreateInfo* toCount,
    size_t* count);

void count_VkGraphicsPipelineCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkGraphicsPipelineCreateInfo* toCount,
    size_t* count);

void count_VkPushConstantRange(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPushConstantRange* toCount,
    size_t* count);

void count_VkPipelineLayoutCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineLayoutCreateInfo* toCount,
    size_t* count);

void count_VkSamplerCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSamplerCreateInfo* toCount,
    size_t* count);

void count_VkCopyDescriptorSet(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCopyDescriptorSet* toCount,
    size_t* count);

void count_VkDescriptorBufferInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorBufferInfo* toCount,
    size_t* count);

void count_VkDescriptorImageInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorImageInfo* toCount,
    size_t* count);

void count_VkDescriptorPoolSize(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorPoolSize* toCount,
    size_t* count);

void count_VkDescriptorPoolCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorPoolCreateInfo* toCount,
    size_t* count);

void count_VkDescriptorSetAllocateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorSetAllocateInfo* toCount,
    size_t* count);

void count_VkDescriptorSetLayoutBinding(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorSetLayoutBinding* toCount,
    size_t* count);

void count_VkDescriptorSetLayoutCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorSetLayoutCreateInfo* toCount,
    size_t* count);

void count_VkWriteDescriptorSet(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkWriteDescriptorSet* toCount,
    size_t* count);

void count_VkAttachmentDescription(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAttachmentDescription* toCount,
    size_t* count);

void count_VkAttachmentReference(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAttachmentReference* toCount,
    size_t* count);

void count_VkFramebufferCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFramebufferCreateInfo* toCount,
    size_t* count);

void count_VkSubpassDescription(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubpassDescription* toCount,
    size_t* count);

void count_VkSubpassDependency(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubpassDependency* toCount,
    size_t* count);

void count_VkRenderPassCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRenderPassCreateInfo* toCount,
    size_t* count);

void count_VkCommandPoolCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCommandPoolCreateInfo* toCount,
    size_t* count);

void count_VkCommandBufferAllocateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCommandBufferAllocateInfo* toCount,
    size_t* count);

void count_VkCommandBufferInheritanceInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCommandBufferInheritanceInfo* toCount,
    size_t* count);

void count_VkCommandBufferBeginInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCommandBufferBeginInfo* toCount,
    size_t* count);

void count_VkBufferCopy(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferCopy* toCount,
    size_t* count);

void count_VkImageSubresourceLayers(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageSubresourceLayers* toCount,
    size_t* count);

void count_VkBufferImageCopy(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferImageCopy* toCount,
    size_t* count);

void count_VkClearColorValue(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkClearColorValue* toCount,
    size_t* count);

void count_VkClearDepthStencilValue(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkClearDepthStencilValue* toCount,
    size_t* count);

void count_VkClearValue(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkClearValue* toCount,
    size_t* count);

void count_VkClearAttachment(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkClearAttachment* toCount,
    size_t* count);

void count_VkClearRect(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkClearRect* toCount,
    size_t* count);

void count_VkImageBlit(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageBlit* toCount,
    size_t* count);

void count_VkImageCopy(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageCopy* toCount,
    size_t* count);

void count_VkImageResolve(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageResolve* toCount,
    size_t* count);

void count_VkRenderPassBeginInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRenderPassBeginInfo* toCount,
    size_t* count);

#endif
#ifdef VK_VERSION_1_1
void count_VkPhysicalDeviceSubgroupProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSubgroupProperties* toCount,
    size_t* count);

void count_VkBindBufferMemoryInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindBufferMemoryInfo* toCount,
    size_t* count);

void count_VkBindImageMemoryInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindImageMemoryInfo* toCount,
    size_t* count);

void count_VkPhysicalDevice16BitStorageFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevice16BitStorageFeatures* toCount,
    size_t* count);

void count_VkMemoryDedicatedRequirements(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryDedicatedRequirements* toCount,
    size_t* count);

void count_VkMemoryDedicatedAllocateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryDedicatedAllocateInfo* toCount,
    size_t* count);

void count_VkMemoryAllocateFlagsInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryAllocateFlagsInfo* toCount,
    size_t* count);

void count_VkDeviceGroupRenderPassBeginInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceGroupRenderPassBeginInfo* toCount,
    size_t* count);

void count_VkDeviceGroupCommandBufferBeginInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceGroupCommandBufferBeginInfo* toCount,
    size_t* count);

void count_VkDeviceGroupSubmitInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceGroupSubmitInfo* toCount,
    size_t* count);

void count_VkDeviceGroupBindSparseInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceGroupBindSparseInfo* toCount,
    size_t* count);

void count_VkBindBufferMemoryDeviceGroupInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindBufferMemoryDeviceGroupInfo* toCount,
    size_t* count);

void count_VkBindImageMemoryDeviceGroupInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindImageMemoryDeviceGroupInfo* toCount,
    size_t* count);

void count_VkPhysicalDeviceGroupProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceGroupProperties* toCount,
    size_t* count);

void count_VkDeviceGroupDeviceCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceGroupDeviceCreateInfo* toCount,
    size_t* count);

void count_VkBufferMemoryRequirementsInfo2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferMemoryRequirementsInfo2* toCount,
    size_t* count);

void count_VkImageMemoryRequirementsInfo2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageMemoryRequirementsInfo2* toCount,
    size_t* count);

void count_VkImageSparseMemoryRequirementsInfo2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageSparseMemoryRequirementsInfo2* toCount,
    size_t* count);

void count_VkMemoryRequirements2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryRequirements2* toCount,
    size_t* count);

void count_VkSparseImageMemoryRequirements2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSparseImageMemoryRequirements2* toCount,
    size_t* count);

void count_VkPhysicalDeviceFeatures2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFeatures2* toCount,
    size_t* count);

void count_VkPhysicalDeviceProperties2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceProperties2* toCount,
    size_t* count);

void count_VkFormatProperties2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFormatProperties2* toCount,
    size_t* count);

void count_VkImageFormatProperties2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageFormatProperties2* toCount,
    size_t* count);

void count_VkPhysicalDeviceImageFormatInfo2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceImageFormatInfo2* toCount,
    size_t* count);

void count_VkQueueFamilyProperties2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkQueueFamilyProperties2* toCount,
    size_t* count);

void count_VkPhysicalDeviceMemoryProperties2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMemoryProperties2* toCount,
    size_t* count);

void count_VkSparseImageFormatProperties2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSparseImageFormatProperties2* toCount,
    size_t* count);

void count_VkPhysicalDeviceSparseImageFormatInfo2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSparseImageFormatInfo2* toCount,
    size_t* count);

void count_VkPhysicalDevicePointClippingProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePointClippingProperties* toCount,
    size_t* count);

void count_VkInputAttachmentAspectReference(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkInputAttachmentAspectReference* toCount,
    size_t* count);

void count_VkRenderPassInputAttachmentAspectCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRenderPassInputAttachmentAspectCreateInfo* toCount,
    size_t* count);

void count_VkImageViewUsageCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageViewUsageCreateInfo* toCount,
    size_t* count);

void count_VkPipelineTessellationDomainOriginStateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineTessellationDomainOriginStateCreateInfo* toCount,
    size_t* count);

void count_VkRenderPassMultiviewCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRenderPassMultiviewCreateInfo* toCount,
    size_t* count);

void count_VkPhysicalDeviceMultiviewFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMultiviewFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceMultiviewProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMultiviewProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceVariablePointersFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceVariablePointersFeatures* toCount,
    size_t* count);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceVariablePointersFeatures, count_VkPhysicalDeviceVariablePointerFeatures);

void count_VkPhysicalDeviceProtectedMemoryFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceProtectedMemoryFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceProtectedMemoryProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceProtectedMemoryProperties* toCount,
    size_t* count);

void count_VkDeviceQueueInfo2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceQueueInfo2* toCount,
    size_t* count);

void count_VkProtectedSubmitInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkProtectedSubmitInfo* toCount,
    size_t* count);

void count_VkSamplerYcbcrConversionCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSamplerYcbcrConversionCreateInfo* toCount,
    size_t* count);

void count_VkSamplerYcbcrConversionInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSamplerYcbcrConversionInfo* toCount,
    size_t* count);

void count_VkBindImagePlaneMemoryInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindImagePlaneMemoryInfo* toCount,
    size_t* count);

void count_VkImagePlaneMemoryRequirementsInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImagePlaneMemoryRequirementsInfo* toCount,
    size_t* count);

void count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSamplerYcbcrConversionFeatures* toCount,
    size_t* count);

void count_VkSamplerYcbcrConversionImageFormatProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSamplerYcbcrConversionImageFormatProperties* toCount,
    size_t* count);

void count_VkDescriptorUpdateTemplateEntry(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorUpdateTemplateEntry* toCount,
    size_t* count);

void count_VkDescriptorUpdateTemplateCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorUpdateTemplateCreateInfo* toCount,
    size_t* count);

void count_VkExternalMemoryProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalMemoryProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceExternalImageFormatInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceExternalImageFormatInfo* toCount,
    size_t* count);

void count_VkExternalImageFormatProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalImageFormatProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceExternalBufferInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceExternalBufferInfo* toCount,
    size_t* count);

void count_VkExternalBufferProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalBufferProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceIDProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceIDProperties* toCount,
    size_t* count);

void count_VkExternalMemoryImageCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalMemoryImageCreateInfo* toCount,
    size_t* count);

void count_VkExternalMemoryBufferCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalMemoryBufferCreateInfo* toCount,
    size_t* count);

void count_VkExportMemoryAllocateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExportMemoryAllocateInfo* toCount,
    size_t* count);

void count_VkPhysicalDeviceExternalFenceInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceExternalFenceInfo* toCount,
    size_t* count);

void count_VkExternalFenceProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalFenceProperties* toCount,
    size_t* count);

void count_VkExportFenceCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExportFenceCreateInfo* toCount,
    size_t* count);

void count_VkExportSemaphoreCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExportSemaphoreCreateInfo* toCount,
    size_t* count);

void count_VkPhysicalDeviceExternalSemaphoreInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceExternalSemaphoreInfo* toCount,
    size_t* count);

void count_VkExternalSemaphoreProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalSemaphoreProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceMaintenance3Properties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMaintenance3Properties* toCount,
    size_t* count);

void count_VkDescriptorSetLayoutSupport(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorSetLayoutSupport* toCount,
    size_t* count);

void count_VkPhysicalDeviceShaderDrawParametersFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderDrawParametersFeatures* toCount,
    size_t* count);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceShaderDrawParametersFeatures, count_VkPhysicalDeviceShaderDrawParameterFeatures);

#endif
#ifdef VK_VERSION_1_2
void count_VkPhysicalDeviceVulkan11Features(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceVulkan11Features* toCount,
    size_t* count);

void count_VkPhysicalDeviceVulkan11Properties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceVulkan11Properties* toCount,
    size_t* count);

void count_VkPhysicalDeviceVulkan12Features(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceVulkan12Features* toCount,
    size_t* count);

void count_VkConformanceVersion(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkConformanceVersion* toCount,
    size_t* count);

void count_VkPhysicalDeviceVulkan12Properties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceVulkan12Properties* toCount,
    size_t* count);

void count_VkImageFormatListCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageFormatListCreateInfo* toCount,
    size_t* count);

void count_VkAttachmentDescription2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAttachmentDescription2* toCount,
    size_t* count);

void count_VkAttachmentReference2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAttachmentReference2* toCount,
    size_t* count);

void count_VkSubpassDescription2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubpassDescription2* toCount,
    size_t* count);

void count_VkSubpassDependency2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubpassDependency2* toCount,
    size_t* count);

void count_VkRenderPassCreateInfo2(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRenderPassCreateInfo2* toCount,
    size_t* count);

void count_VkSubpassBeginInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubpassBeginInfo* toCount,
    size_t* count);

void count_VkSubpassEndInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubpassEndInfo* toCount,
    size_t* count);

void count_VkPhysicalDevice8BitStorageFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevice8BitStorageFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceDriverProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDriverProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceShaderAtomicInt64Features(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderAtomicInt64Features* toCount,
    size_t* count);

void count_VkPhysicalDeviceShaderFloat16Int8Features(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderFloat16Int8Features* toCount,
    size_t* count);

void count_VkPhysicalDeviceFloatControlsProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFloatControlsProperties* toCount,
    size_t* count);

void count_VkDescriptorSetLayoutBindingFlagsCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorSetLayoutBindingFlagsCreateInfo* toCount,
    size_t* count);

void count_VkPhysicalDeviceDescriptorIndexingFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDescriptorIndexingFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceDescriptorIndexingProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDescriptorIndexingProperties* toCount,
    size_t* count);

void count_VkDescriptorSetVariableDescriptorCountAllocateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorSetVariableDescriptorCountAllocateInfo* toCount,
    size_t* count);

void count_VkDescriptorSetVariableDescriptorCountLayoutSupport(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorSetVariableDescriptorCountLayoutSupport* toCount,
    size_t* count);

void count_VkSubpassDescriptionDepthStencilResolve(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubpassDescriptionDepthStencilResolve* toCount,
    size_t* count);

void count_VkPhysicalDeviceDepthStencilResolveProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDepthStencilResolveProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceScalarBlockLayoutFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceScalarBlockLayoutFeatures* toCount,
    size_t* count);

void count_VkImageStencilUsageCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageStencilUsageCreateInfo* toCount,
    size_t* count);

void count_VkSamplerReductionModeCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSamplerReductionModeCreateInfo* toCount,
    size_t* count);

void count_VkPhysicalDeviceSamplerFilterMinmaxProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSamplerFilterMinmaxProperties* toCount,
    size_t* count);

void count_VkPhysicalDeviceVulkanMemoryModelFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceVulkanMemoryModelFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceImagelessFramebufferFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceImagelessFramebufferFeatures* toCount,
    size_t* count);

void count_VkFramebufferAttachmentImageInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFramebufferAttachmentImageInfo* toCount,
    size_t* count);

void count_VkFramebufferAttachmentsCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFramebufferAttachmentsCreateInfo* toCount,
    size_t* count);

void count_VkRenderPassAttachmentBeginInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRenderPassAttachmentBeginInfo* toCount,
    size_t* count);

void count_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* toCount,
    size_t* count);

void count_VkAttachmentReferenceStencilLayout(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAttachmentReferenceStencilLayout* toCount,
    size_t* count);

void count_VkAttachmentDescriptionStencilLayout(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAttachmentDescriptionStencilLayout* toCount,
    size_t* count);

void count_VkPhysicalDeviceHostQueryResetFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceHostQueryResetFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceTimelineSemaphoreFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceTimelineSemaphoreFeatures* toCount,
    size_t* count);

void count_VkPhysicalDeviceTimelineSemaphoreProperties(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceTimelineSemaphoreProperties* toCount,
    size_t* count);

void count_VkSemaphoreTypeCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSemaphoreTypeCreateInfo* toCount,
    size_t* count);

void count_VkTimelineSemaphoreSubmitInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkTimelineSemaphoreSubmitInfo* toCount,
    size_t* count);

void count_VkSemaphoreWaitInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSemaphoreWaitInfo* toCount,
    size_t* count);

void count_VkSemaphoreSignalInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSemaphoreSignalInfo* toCount,
    size_t* count);

void count_VkPhysicalDeviceBufferDeviceAddressFeatures(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceBufferDeviceAddressFeatures* toCount,
    size_t* count);

void count_VkBufferDeviceAddressInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferDeviceAddressInfo* toCount,
    size_t* count);

void count_VkBufferOpaqueCaptureAddressCreateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferOpaqueCaptureAddressCreateInfo* toCount,
    size_t* count);

void count_VkMemoryOpaqueCaptureAddressAllocateInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryOpaqueCaptureAddressAllocateInfo* toCount,
    size_t* count);

void count_VkDeviceMemoryOpaqueCaptureAddressInfo(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceMemoryOpaqueCaptureAddressInfo* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_surface
void count_VkSurfaceCapabilitiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSurfaceCapabilitiesKHR* toCount,
    size_t* count);

void count_VkSurfaceFormatKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSurfaceFormatKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_swapchain
void count_VkSwapchainCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSwapchainCreateInfoKHR* toCount,
    size_t* count);

void count_VkPresentInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPresentInfoKHR* toCount,
    size_t* count);

void count_VkImageSwapchainCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageSwapchainCreateInfoKHR* toCount,
    size_t* count);

void count_VkBindImageMemorySwapchainInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindImageMemorySwapchainInfoKHR* toCount,
    size_t* count);

void count_VkAcquireNextImageInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAcquireNextImageInfoKHR* toCount,
    size_t* count);

void count_VkDeviceGroupPresentCapabilitiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceGroupPresentCapabilitiesKHR* toCount,
    size_t* count);

void count_VkDeviceGroupPresentInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceGroupPresentInfoKHR* toCount,
    size_t* count);

void count_VkDeviceGroupSwapchainCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceGroupSwapchainCreateInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_display
void count_VkDisplayModeParametersKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayModeParametersKHR* toCount,
    size_t* count);

void count_VkDisplayModeCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayModeCreateInfoKHR* toCount,
    size_t* count);

void count_VkDisplayModePropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayModePropertiesKHR* toCount,
    size_t* count);

void count_VkDisplayPlaneCapabilitiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayPlaneCapabilitiesKHR* toCount,
    size_t* count);

void count_VkDisplayPlanePropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayPlanePropertiesKHR* toCount,
    size_t* count);

void count_VkDisplayPropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayPropertiesKHR* toCount,
    size_t* count);

void count_VkDisplaySurfaceCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplaySurfaceCreateInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_display_swapchain
void count_VkDisplayPresentInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayPresentInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_xlib_surface
void count_VkXlibSurfaceCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkXlibSurfaceCreateInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_xcb_surface
void count_VkXcbSurfaceCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkXcbSurfaceCreateInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_wayland_surface
void count_VkWaylandSurfaceCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkWaylandSurfaceCreateInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_android_surface
void count_VkAndroidSurfaceCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAndroidSurfaceCreateInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_win32_surface
void count_VkWin32SurfaceCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkWin32SurfaceCreateInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_sampler_mirror_clamp_to_edge
#endif
#ifdef VK_KHR_multiview
DEFINE_ALIAS_FUNCTION(count_VkRenderPassMultiviewCreateInfo, count_VkRenderPassMultiviewCreateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceMultiviewFeatures, count_VkPhysicalDeviceMultiviewFeaturesKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceMultiviewProperties, count_VkPhysicalDeviceMultiviewPropertiesKHR);

#endif
#ifdef VK_KHR_get_physical_device_properties2
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceFeatures2, count_VkPhysicalDeviceFeatures2KHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceProperties2, count_VkPhysicalDeviceProperties2KHR);

DEFINE_ALIAS_FUNCTION(count_VkFormatProperties2, count_VkFormatProperties2KHR);

DEFINE_ALIAS_FUNCTION(count_VkImageFormatProperties2, count_VkImageFormatProperties2KHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceImageFormatInfo2, count_VkPhysicalDeviceImageFormatInfo2KHR);

DEFINE_ALIAS_FUNCTION(count_VkQueueFamilyProperties2, count_VkQueueFamilyProperties2KHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceMemoryProperties2, count_VkPhysicalDeviceMemoryProperties2KHR);

DEFINE_ALIAS_FUNCTION(count_VkSparseImageFormatProperties2, count_VkSparseImageFormatProperties2KHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceSparseImageFormatInfo2, count_VkPhysicalDeviceSparseImageFormatInfo2KHR);

#endif
#ifdef VK_KHR_device_group
DEFINE_ALIAS_FUNCTION(count_VkMemoryAllocateFlagsInfo, count_VkMemoryAllocateFlagsInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkDeviceGroupRenderPassBeginInfo, count_VkDeviceGroupRenderPassBeginInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkDeviceGroupCommandBufferBeginInfo, count_VkDeviceGroupCommandBufferBeginInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkDeviceGroupSubmitInfo, count_VkDeviceGroupSubmitInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkDeviceGroupBindSparseInfo, count_VkDeviceGroupBindSparseInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkBindBufferMemoryDeviceGroupInfo, count_VkBindBufferMemoryDeviceGroupInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkBindImageMemoryDeviceGroupInfo, count_VkBindImageMemoryDeviceGroupInfoKHR);

#endif
#ifdef VK_KHR_shader_draw_parameters
#endif
#ifdef VK_KHR_maintenance1
#endif
#ifdef VK_KHR_device_group_creation
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceGroupProperties, count_VkPhysicalDeviceGroupPropertiesKHR);

DEFINE_ALIAS_FUNCTION(count_VkDeviceGroupDeviceCreateInfo, count_VkDeviceGroupDeviceCreateInfoKHR);

#endif
#ifdef VK_KHR_external_memory_capabilities
DEFINE_ALIAS_FUNCTION(count_VkExternalMemoryProperties, count_VkExternalMemoryPropertiesKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceExternalImageFormatInfo, count_VkPhysicalDeviceExternalImageFormatInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkExternalImageFormatProperties, count_VkExternalImageFormatPropertiesKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceExternalBufferInfo, count_VkPhysicalDeviceExternalBufferInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkExternalBufferProperties, count_VkExternalBufferPropertiesKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceIDProperties, count_VkPhysicalDeviceIDPropertiesKHR);

#endif
#ifdef VK_KHR_external_memory
DEFINE_ALIAS_FUNCTION(count_VkExternalMemoryImageCreateInfo, count_VkExternalMemoryImageCreateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkExternalMemoryBufferCreateInfo, count_VkExternalMemoryBufferCreateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkExportMemoryAllocateInfo, count_VkExportMemoryAllocateInfoKHR);

#endif
#ifdef VK_KHR_external_memory_win32
void count_VkImportMemoryWin32HandleInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportMemoryWin32HandleInfoKHR* toCount,
    size_t* count);

void count_VkExportMemoryWin32HandleInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExportMemoryWin32HandleInfoKHR* toCount,
    size_t* count);

void count_VkMemoryWin32HandlePropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryWin32HandlePropertiesKHR* toCount,
    size_t* count);

void count_VkMemoryGetWin32HandleInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryGetWin32HandleInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_external_memory_fd
void count_VkImportMemoryFdInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportMemoryFdInfoKHR* toCount,
    size_t* count);

void count_VkMemoryFdPropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryFdPropertiesKHR* toCount,
    size_t* count);

void count_VkMemoryGetFdInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryGetFdInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_win32_keyed_mutex
void count_VkWin32KeyedMutexAcquireReleaseInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkWin32KeyedMutexAcquireReleaseInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_external_semaphore_capabilities
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceExternalSemaphoreInfo, count_VkPhysicalDeviceExternalSemaphoreInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkExternalSemaphoreProperties, count_VkExternalSemaphorePropertiesKHR);

#endif
#ifdef VK_KHR_external_semaphore
DEFINE_ALIAS_FUNCTION(count_VkExportSemaphoreCreateInfo, count_VkExportSemaphoreCreateInfoKHR);

#endif
#ifdef VK_KHR_external_semaphore_win32
void count_VkImportSemaphoreWin32HandleInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportSemaphoreWin32HandleInfoKHR* toCount,
    size_t* count);

void count_VkExportSemaphoreWin32HandleInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExportSemaphoreWin32HandleInfoKHR* toCount,
    size_t* count);

void count_VkD3D12FenceSubmitInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkD3D12FenceSubmitInfoKHR* toCount,
    size_t* count);

void count_VkSemaphoreGetWin32HandleInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSemaphoreGetWin32HandleInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_external_semaphore_fd
void count_VkImportSemaphoreFdInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportSemaphoreFdInfoKHR* toCount,
    size_t* count);

void count_VkSemaphoreGetFdInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSemaphoreGetFdInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_push_descriptor
void count_VkPhysicalDevicePushDescriptorPropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePushDescriptorPropertiesKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_shader_float16_int8
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceShaderFloat16Int8Features, count_VkPhysicalDeviceShaderFloat16Int8FeaturesKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceShaderFloat16Int8Features, count_VkPhysicalDeviceFloat16Int8FeaturesKHR);

#endif
#ifdef VK_KHR_16bit_storage
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDevice16BitStorageFeatures, count_VkPhysicalDevice16BitStorageFeaturesKHR);

#endif
#ifdef VK_KHR_incremental_present
void count_VkRectLayerKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRectLayerKHR* toCount,
    size_t* count);

void count_VkPresentRegionKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPresentRegionKHR* toCount,
    size_t* count);

void count_VkPresentRegionsKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPresentRegionsKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_descriptor_update_template
DEFINE_ALIAS_FUNCTION(count_VkDescriptorUpdateTemplateEntry, count_VkDescriptorUpdateTemplateEntryKHR);

DEFINE_ALIAS_FUNCTION(count_VkDescriptorUpdateTemplateCreateInfo, count_VkDescriptorUpdateTemplateCreateInfoKHR);

#endif
#ifdef VK_KHR_imageless_framebuffer
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceImagelessFramebufferFeatures, count_VkPhysicalDeviceImagelessFramebufferFeaturesKHR);

DEFINE_ALIAS_FUNCTION(count_VkFramebufferAttachmentsCreateInfo, count_VkFramebufferAttachmentsCreateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkFramebufferAttachmentImageInfo, count_VkFramebufferAttachmentImageInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkRenderPassAttachmentBeginInfo, count_VkRenderPassAttachmentBeginInfoKHR);

#endif
#ifdef VK_KHR_create_renderpass2
DEFINE_ALIAS_FUNCTION(count_VkRenderPassCreateInfo2, count_VkRenderPassCreateInfo2KHR);

DEFINE_ALIAS_FUNCTION(count_VkAttachmentDescription2, count_VkAttachmentDescription2KHR);

DEFINE_ALIAS_FUNCTION(count_VkAttachmentReference2, count_VkAttachmentReference2KHR);

DEFINE_ALIAS_FUNCTION(count_VkSubpassDescription2, count_VkSubpassDescription2KHR);

DEFINE_ALIAS_FUNCTION(count_VkSubpassDependency2, count_VkSubpassDependency2KHR);

DEFINE_ALIAS_FUNCTION(count_VkSubpassBeginInfo, count_VkSubpassBeginInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkSubpassEndInfo, count_VkSubpassEndInfoKHR);

#endif
#ifdef VK_KHR_shared_presentable_image
void count_VkSharedPresentSurfaceCapabilitiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSharedPresentSurfaceCapabilitiesKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_external_fence_capabilities
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceExternalFenceInfo, count_VkPhysicalDeviceExternalFenceInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkExternalFenceProperties, count_VkExternalFencePropertiesKHR);

#endif
#ifdef VK_KHR_external_fence
DEFINE_ALIAS_FUNCTION(count_VkExportFenceCreateInfo, count_VkExportFenceCreateInfoKHR);

#endif
#ifdef VK_KHR_external_fence_win32
void count_VkImportFenceWin32HandleInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportFenceWin32HandleInfoKHR* toCount,
    size_t* count);

void count_VkExportFenceWin32HandleInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExportFenceWin32HandleInfoKHR* toCount,
    size_t* count);

void count_VkFenceGetWin32HandleInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFenceGetWin32HandleInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_external_fence_fd
void count_VkImportFenceFdInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportFenceFdInfoKHR* toCount,
    size_t* count);

void count_VkFenceGetFdInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFenceGetFdInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_performance_query
void count_VkPhysicalDevicePerformanceQueryFeaturesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePerformanceQueryFeaturesKHR* toCount,
    size_t* count);

void count_VkPhysicalDevicePerformanceQueryPropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePerformanceQueryPropertiesKHR* toCount,
    size_t* count);

void count_VkPerformanceCounterKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceCounterKHR* toCount,
    size_t* count);

void count_VkPerformanceCounterDescriptionKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceCounterDescriptionKHR* toCount,
    size_t* count);

void count_VkQueryPoolPerformanceCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkQueryPoolPerformanceCreateInfoKHR* toCount,
    size_t* count);

void count_VkPerformanceCounterResultKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceCounterResultKHR* toCount,
    size_t* count);

void count_VkAcquireProfilingLockInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAcquireProfilingLockInfoKHR* toCount,
    size_t* count);

void count_VkPerformanceQuerySubmitInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceQuerySubmitInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_maintenance2
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDevicePointClippingProperties, count_VkPhysicalDevicePointClippingPropertiesKHR);

DEFINE_ALIAS_FUNCTION(count_VkRenderPassInputAttachmentAspectCreateInfo, count_VkRenderPassInputAttachmentAspectCreateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkInputAttachmentAspectReference, count_VkInputAttachmentAspectReferenceKHR);

DEFINE_ALIAS_FUNCTION(count_VkImageViewUsageCreateInfo, count_VkImageViewUsageCreateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkPipelineTessellationDomainOriginStateCreateInfo, count_VkPipelineTessellationDomainOriginStateCreateInfoKHR);

#endif
#ifdef VK_KHR_get_surface_capabilities2
void count_VkPhysicalDeviceSurfaceInfo2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSurfaceInfo2KHR* toCount,
    size_t* count);

void count_VkSurfaceCapabilities2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSurfaceCapabilities2KHR* toCount,
    size_t* count);

void count_VkSurfaceFormat2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSurfaceFormat2KHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_variable_pointers
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceVariablePointersFeatures, count_VkPhysicalDeviceVariablePointerFeaturesKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceVariablePointersFeatures, count_VkPhysicalDeviceVariablePointersFeaturesKHR);

#endif
#ifdef VK_KHR_get_display_properties2
void count_VkDisplayProperties2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayProperties2KHR* toCount,
    size_t* count);

void count_VkDisplayPlaneProperties2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayPlaneProperties2KHR* toCount,
    size_t* count);

void count_VkDisplayModeProperties2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayModeProperties2KHR* toCount,
    size_t* count);

void count_VkDisplayPlaneInfo2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayPlaneInfo2KHR* toCount,
    size_t* count);

void count_VkDisplayPlaneCapabilities2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayPlaneCapabilities2KHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_dedicated_allocation
DEFINE_ALIAS_FUNCTION(count_VkMemoryDedicatedRequirements, count_VkMemoryDedicatedRequirementsKHR);

DEFINE_ALIAS_FUNCTION(count_VkMemoryDedicatedAllocateInfo, count_VkMemoryDedicatedAllocateInfoKHR);

#endif
#ifdef VK_KHR_storage_buffer_storage_class
#endif
#ifdef VK_KHR_relaxed_block_layout
#endif
#ifdef VK_KHR_get_memory_requirements2
DEFINE_ALIAS_FUNCTION(count_VkBufferMemoryRequirementsInfo2, count_VkBufferMemoryRequirementsInfo2KHR);

DEFINE_ALIAS_FUNCTION(count_VkImageMemoryRequirementsInfo2, count_VkImageMemoryRequirementsInfo2KHR);

DEFINE_ALIAS_FUNCTION(count_VkImageSparseMemoryRequirementsInfo2, count_VkImageSparseMemoryRequirementsInfo2KHR);

DEFINE_ALIAS_FUNCTION(count_VkMemoryRequirements2, count_VkMemoryRequirements2KHR);

DEFINE_ALIAS_FUNCTION(count_VkSparseImageMemoryRequirements2, count_VkSparseImageMemoryRequirements2KHR);

#endif
#ifdef VK_KHR_image_format_list
DEFINE_ALIAS_FUNCTION(count_VkImageFormatListCreateInfo, count_VkImageFormatListCreateInfoKHR);

#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
DEFINE_ALIAS_FUNCTION(count_VkSamplerYcbcrConversionCreateInfo, count_VkSamplerYcbcrConversionCreateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkSamplerYcbcrConversionInfo, count_VkSamplerYcbcrConversionInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkBindImagePlaneMemoryInfo, count_VkBindImagePlaneMemoryInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkImagePlaneMemoryRequirementsInfo, count_VkImagePlaneMemoryRequirementsInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceSamplerYcbcrConversionFeatures, count_VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR);

DEFINE_ALIAS_FUNCTION(count_VkSamplerYcbcrConversionImageFormatProperties, count_VkSamplerYcbcrConversionImageFormatPropertiesKHR);

#endif
#ifdef VK_KHR_bind_memory2
DEFINE_ALIAS_FUNCTION(count_VkBindBufferMemoryInfo, count_VkBindBufferMemoryInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkBindImageMemoryInfo, count_VkBindImageMemoryInfoKHR);

#endif
#ifdef VK_KHR_portability_subset
void count_VkPhysicalDevicePortabilitySubsetFeaturesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePortabilitySubsetFeaturesKHR* toCount,
    size_t* count);

void count_VkPhysicalDevicePortabilitySubsetPropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePortabilitySubsetPropertiesKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_maintenance3
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceMaintenance3Properties, count_VkPhysicalDeviceMaintenance3PropertiesKHR);

DEFINE_ALIAS_FUNCTION(count_VkDescriptorSetLayoutSupport, count_VkDescriptorSetLayoutSupportKHR);

#endif
#ifdef VK_KHR_draw_indirect_count
#endif
#ifdef VK_KHR_shader_subgroup_extended_types
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR);

#endif
#ifdef VK_KHR_8bit_storage
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDevice8BitStorageFeatures, count_VkPhysicalDevice8BitStorageFeaturesKHR);

#endif
#ifdef VK_KHR_shader_atomic_int64
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceShaderAtomicInt64Features, count_VkPhysicalDeviceShaderAtomicInt64FeaturesKHR);

#endif
#ifdef VK_KHR_shader_clock
void count_VkPhysicalDeviceShaderClockFeaturesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderClockFeaturesKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_driver_properties
DEFINE_ALIAS_FUNCTION(count_VkConformanceVersion, count_VkConformanceVersionKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceDriverProperties, count_VkPhysicalDeviceDriverPropertiesKHR);

#endif
#ifdef VK_KHR_shader_float_controls
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceFloatControlsProperties, count_VkPhysicalDeviceFloatControlsPropertiesKHR);

#endif
#ifdef VK_KHR_depth_stencil_resolve
DEFINE_ALIAS_FUNCTION(count_VkSubpassDescriptionDepthStencilResolve, count_VkSubpassDescriptionDepthStencilResolveKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceDepthStencilResolveProperties, count_VkPhysicalDeviceDepthStencilResolvePropertiesKHR);

#endif
#ifdef VK_KHR_swapchain_mutable_format
#endif
#ifdef VK_KHR_timeline_semaphore
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceTimelineSemaphoreFeatures, count_VkPhysicalDeviceTimelineSemaphoreFeaturesKHR);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceTimelineSemaphoreProperties, count_VkPhysicalDeviceTimelineSemaphorePropertiesKHR);

DEFINE_ALIAS_FUNCTION(count_VkSemaphoreTypeCreateInfo, count_VkSemaphoreTypeCreateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkTimelineSemaphoreSubmitInfo, count_VkTimelineSemaphoreSubmitInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkSemaphoreWaitInfo, count_VkSemaphoreWaitInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkSemaphoreSignalInfo, count_VkSemaphoreSignalInfoKHR);

#endif
#ifdef VK_KHR_vulkan_memory_model
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceVulkanMemoryModelFeatures, count_VkPhysicalDeviceVulkanMemoryModelFeaturesKHR);

#endif
#ifdef VK_KHR_shader_terminate_invocation
void count_VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_fragment_shading_rate
void count_VkFragmentShadingRateAttachmentInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFragmentShadingRateAttachmentInfoKHR* toCount,
    size_t* count);

void count_VkPipelineFragmentShadingRateStateCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineFragmentShadingRateStateCreateInfoKHR* toCount,
    size_t* count);

void count_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentShadingRateFeaturesKHR* toCount,
    size_t* count);

void count_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentShadingRatePropertiesKHR* toCount,
    size_t* count);

void count_VkPhysicalDeviceFragmentShadingRateKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentShadingRateKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_spirv_1_4
#endif
#ifdef VK_KHR_surface_protected_capabilities
void count_VkSurfaceProtectedCapabilitiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSurfaceProtectedCapabilitiesKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_separate_depth_stencil_layouts
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR);

DEFINE_ALIAS_FUNCTION(count_VkAttachmentReferenceStencilLayout, count_VkAttachmentReferenceStencilLayoutKHR);

DEFINE_ALIAS_FUNCTION(count_VkAttachmentDescriptionStencilLayout, count_VkAttachmentDescriptionStencilLayoutKHR);

#endif
#ifdef VK_KHR_uniform_buffer_standard_layout
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceUniformBufferStandardLayoutFeatures, count_VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR);

#endif
#ifdef VK_KHR_buffer_device_address
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceBufferDeviceAddressFeatures, count_VkPhysicalDeviceBufferDeviceAddressFeaturesKHR);

DEFINE_ALIAS_FUNCTION(count_VkBufferDeviceAddressInfo, count_VkBufferDeviceAddressInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkBufferOpaqueCaptureAddressCreateInfo, count_VkBufferOpaqueCaptureAddressCreateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkMemoryOpaqueCaptureAddressAllocateInfo, count_VkMemoryOpaqueCaptureAddressAllocateInfoKHR);

DEFINE_ALIAS_FUNCTION(count_VkDeviceMemoryOpaqueCaptureAddressInfo, count_VkDeviceMemoryOpaqueCaptureAddressInfoKHR);

#endif
#ifdef VK_KHR_deferred_host_operations
#endif
#ifdef VK_KHR_pipeline_executable_properties
void count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* toCount,
    size_t* count);

void count_VkPipelineInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineInfoKHR* toCount,
    size_t* count);

void count_VkPipelineExecutablePropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineExecutablePropertiesKHR* toCount,
    size_t* count);

void count_VkPipelineExecutableInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineExecutableInfoKHR* toCount,
    size_t* count);

void count_VkPipelineExecutableStatisticValueKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineExecutableStatisticValueKHR* toCount,
    size_t* count);

void count_VkPipelineExecutableStatisticKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineExecutableStatisticKHR* toCount,
    size_t* count);

void count_VkPipelineExecutableInternalRepresentationKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineExecutableInternalRepresentationKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_pipeline_library
void count_VkPipelineLibraryCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineLibraryCreateInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_shader_non_semantic_info
#endif
#ifdef VK_KHR_copy_commands2
void count_VkBufferCopy2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferCopy2KHR* toCount,
    size_t* count);

void count_VkCopyBufferInfo2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCopyBufferInfo2KHR* toCount,
    size_t* count);

void count_VkImageCopy2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageCopy2KHR* toCount,
    size_t* count);

void count_VkCopyImageInfo2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCopyImageInfo2KHR* toCount,
    size_t* count);

void count_VkBufferImageCopy2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferImageCopy2KHR* toCount,
    size_t* count);

void count_VkCopyBufferToImageInfo2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCopyBufferToImageInfo2KHR* toCount,
    size_t* count);

void count_VkCopyImageToBufferInfo2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCopyImageToBufferInfo2KHR* toCount,
    size_t* count);

void count_VkImageBlit2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageBlit2KHR* toCount,
    size_t* count);

void count_VkBlitImageInfo2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBlitImageInfo2KHR* toCount,
    size_t* count);

void count_VkImageResolve2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageResolve2KHR* toCount,
    size_t* count);

void count_VkResolveImageInfo2KHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkResolveImageInfo2KHR* toCount,
    size_t* count);

#endif
#ifdef VK_ANDROID_native_buffer
void count_VkNativeBufferANDROID(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkNativeBufferANDROID* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_debug_report
void count_VkDebugReportCallbackCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDebugReportCallbackCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NV_glsl_shader
#endif
#ifdef VK_EXT_depth_range_unrestricted
#endif
#ifdef VK_IMG_filter_cubic
#endif
#ifdef VK_AMD_rasterization_order
void count_VkPipelineRasterizationStateRasterizationOrderAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineRasterizationStateRasterizationOrderAMD* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_shader_trinary_minmax
#endif
#ifdef VK_AMD_shader_explicit_vertex_parameter
#endif
#ifdef VK_EXT_debug_marker
void count_VkDebugMarkerObjectNameInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDebugMarkerObjectNameInfoEXT* toCount,
    size_t* count);

void count_VkDebugMarkerObjectTagInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDebugMarkerObjectTagInfoEXT* toCount,
    size_t* count);

void count_VkDebugMarkerMarkerInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDebugMarkerMarkerInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_gcn_shader
#endif
#ifdef VK_NV_dedicated_allocation
void count_VkDedicatedAllocationImageCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDedicatedAllocationImageCreateInfoNV* toCount,
    size_t* count);

void count_VkDedicatedAllocationBufferCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDedicatedAllocationBufferCreateInfoNV* toCount,
    size_t* count);

void count_VkDedicatedAllocationMemoryAllocateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDedicatedAllocationMemoryAllocateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_transform_feedback
void count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceTransformFeedbackFeaturesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceTransformFeedbackPropertiesEXT* toCount,
    size_t* count);

void count_VkPipelineRasterizationStateStreamCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineRasterizationStateStreamCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NVX_image_view_handle
void count_VkImageViewHandleInfoNVX(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageViewHandleInfoNVX* toCount,
    size_t* count);

void count_VkImageViewAddressPropertiesNVX(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageViewAddressPropertiesNVX* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_draw_indirect_count
#endif
#ifdef VK_AMD_negative_viewport_height
#endif
#ifdef VK_AMD_gpu_shader_half_float
#endif
#ifdef VK_AMD_shader_ballot
#endif
#ifdef VK_AMD_texture_gather_bias_lod
void count_VkTextureLODGatherFormatPropertiesAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkTextureLODGatherFormatPropertiesAMD* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_shader_info
void count_VkShaderResourceUsageAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkShaderResourceUsageAMD* toCount,
    size_t* count);

void count_VkShaderStatisticsInfoAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkShaderStatisticsInfoAMD* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_shader_image_load_store_lod
#endif
#ifdef VK_GGP_stream_descriptor_surface
void count_VkStreamDescriptorSurfaceCreateInfoGGP(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkStreamDescriptorSurfaceCreateInfoGGP* toCount,
    size_t* count);

#endif
#ifdef VK_NV_corner_sampled_image
void count_VkPhysicalDeviceCornerSampledImageFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceCornerSampledImageFeaturesNV* toCount,
    size_t* count);

#endif
#ifdef VK_IMG_format_pvrtc
#endif
#ifdef VK_NV_external_memory_capabilities
void count_VkExternalImageFormatPropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalImageFormatPropertiesNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_external_memory
void count_VkExternalMemoryImageCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalMemoryImageCreateInfoNV* toCount,
    size_t* count);

void count_VkExportMemoryAllocateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExportMemoryAllocateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_external_memory_win32
void count_VkImportMemoryWin32HandleInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportMemoryWin32HandleInfoNV* toCount,
    size_t* count);

void count_VkExportMemoryWin32HandleInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExportMemoryWin32HandleInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_win32_keyed_mutex
void count_VkWin32KeyedMutexAcquireReleaseInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkWin32KeyedMutexAcquireReleaseInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_validation_flags
void count_VkValidationFlagsEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkValidationFlagsEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NN_vi_surface
void count_VkViSurfaceCreateInfoNN(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkViSurfaceCreateInfoNN* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_shader_subgroup_ballot
#endif
#ifdef VK_EXT_shader_subgroup_vote
#endif
#ifdef VK_EXT_texture_compression_astc_hdr
void count_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_astc_decode_mode
void count_VkImageViewASTCDecodeModeEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageViewASTCDecodeModeEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceASTCDecodeFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceASTCDecodeFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_conditional_rendering
void count_VkConditionalRenderingBeginInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkConditionalRenderingBeginInfoEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceConditionalRenderingFeaturesEXT* toCount,
    size_t* count);

void count_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCommandBufferInheritanceConditionalRenderingInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NV_clip_space_w_scaling
void count_VkViewportWScalingNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkViewportWScalingNV* toCount,
    size_t* count);

void count_VkPipelineViewportWScalingStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineViewportWScalingStateCreateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_direct_mode_display
#endif
#ifdef VK_EXT_acquire_xlib_display
#endif
#ifdef VK_EXT_display_surface_counter
void count_VkSurfaceCapabilities2EXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSurfaceCapabilities2EXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_display_control
void count_VkDisplayPowerInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayPowerInfoEXT* toCount,
    size_t* count);

void count_VkDeviceEventInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceEventInfoEXT* toCount,
    size_t* count);

void count_VkDisplayEventInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayEventInfoEXT* toCount,
    size_t* count);

void count_VkSwapchainCounterCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSwapchainCounterCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_GOOGLE_display_timing
void count_VkRefreshCycleDurationGOOGLE(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRefreshCycleDurationGOOGLE* toCount,
    size_t* count);

void count_VkPastPresentationTimingGOOGLE(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPastPresentationTimingGOOGLE* toCount,
    size_t* count);

void count_VkPresentTimeGOOGLE(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPresentTimeGOOGLE* toCount,
    size_t* count);

void count_VkPresentTimesInfoGOOGLE(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPresentTimesInfoGOOGLE* toCount,
    size_t* count);

#endif
#ifdef VK_NV_sample_mask_override_coverage
#endif
#ifdef VK_NV_geometry_shader_passthrough
#endif
#ifdef VK_NV_viewport_array2
#endif
#ifdef VK_NVX_multiview_per_view_attributes
void count_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* toCount,
    size_t* count);

#endif
#ifdef VK_NV_viewport_swizzle
void count_VkViewportSwizzleNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkViewportSwizzleNV* toCount,
    size_t* count);

void count_VkPipelineViewportSwizzleStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineViewportSwizzleStateCreateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_discard_rectangles
void count_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDiscardRectanglePropertiesEXT* toCount,
    size_t* count);

void count_VkPipelineDiscardRectangleStateCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineDiscardRectangleStateCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_conservative_rasterization
void count_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* toCount,
    size_t* count);

void count_VkPipelineRasterizationConservativeStateCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineRasterizationConservativeStateCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_depth_clip_enable
void count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDepthClipEnableFeaturesEXT* toCount,
    size_t* count);

void count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineRasterizationDepthClipStateCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_swapchain_colorspace
#endif
#ifdef VK_EXT_hdr_metadata
void count_VkXYColorEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkXYColorEXT* toCount,
    size_t* count);

void count_VkHdrMetadataEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkHdrMetadataEXT* toCount,
    size_t* count);

#endif
#ifdef VK_MVK_ios_surface
void count_VkIOSSurfaceCreateInfoMVK(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkIOSSurfaceCreateInfoMVK* toCount,
    size_t* count);

#endif
#ifdef VK_MVK_macos_surface
void count_VkMacOSSurfaceCreateInfoMVK(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMacOSSurfaceCreateInfoMVK* toCount,
    size_t* count);

#endif
#ifdef VK_MVK_moltenvk
#endif
#ifdef VK_EXT_external_memory_dma_buf
#endif
#ifdef VK_EXT_queue_family_foreign
#endif
#ifdef VK_EXT_debug_utils
void count_VkDebugUtilsLabelEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDebugUtilsLabelEXT* toCount,
    size_t* count);

void count_VkDebugUtilsObjectNameInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDebugUtilsObjectNameInfoEXT* toCount,
    size_t* count);

void count_VkDebugUtilsMessengerCallbackDataEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDebugUtilsMessengerCallbackDataEXT* toCount,
    size_t* count);

void count_VkDebugUtilsMessengerCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDebugUtilsMessengerCreateInfoEXT* toCount,
    size_t* count);

void count_VkDebugUtilsObjectTagInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDebugUtilsObjectTagInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
void count_VkAndroidHardwareBufferUsageANDROID(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAndroidHardwareBufferUsageANDROID* toCount,
    size_t* count);

void count_VkAndroidHardwareBufferPropertiesANDROID(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAndroidHardwareBufferPropertiesANDROID* toCount,
    size_t* count);

void count_VkAndroidHardwareBufferFormatPropertiesANDROID(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAndroidHardwareBufferFormatPropertiesANDROID* toCount,
    size_t* count);

void count_VkImportAndroidHardwareBufferInfoANDROID(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportAndroidHardwareBufferInfoANDROID* toCount,
    size_t* count);

void count_VkMemoryGetAndroidHardwareBufferInfoANDROID(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryGetAndroidHardwareBufferInfoANDROID* toCount,
    size_t* count);

void count_VkExternalFormatANDROID(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkExternalFormatANDROID* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_sampler_filter_minmax
DEFINE_ALIAS_FUNCTION(count_VkSamplerReductionModeCreateInfo, count_VkSamplerReductionModeCreateInfoEXT);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceSamplerFilterMinmaxProperties, count_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT);

#endif
#ifdef VK_AMD_gpu_shader_int16
#endif
#ifdef VK_AMD_mixed_attachment_samples
#endif
#ifdef VK_AMD_shader_fragment_mask
#endif
#ifdef VK_EXT_inline_uniform_block
void count_VkPhysicalDeviceInlineUniformBlockFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceInlineUniformBlockPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* toCount,
    size_t* count);

void count_VkWriteDescriptorSetInlineUniformBlockEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkWriteDescriptorSetInlineUniformBlockEXT* toCount,
    size_t* count);

void count_VkDescriptorPoolInlineUniformBlockCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_shader_stencil_export
#endif
#ifdef VK_EXT_sample_locations
void count_VkSampleLocationEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSampleLocationEXT* toCount,
    size_t* count);

void count_VkSampleLocationsInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSampleLocationsInfoEXT* toCount,
    size_t* count);

void count_VkAttachmentSampleLocationsEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAttachmentSampleLocationsEXT* toCount,
    size_t* count);

void count_VkSubpassSampleLocationsEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSubpassSampleLocationsEXT* toCount,
    size_t* count);

void count_VkRenderPassSampleLocationsBeginInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRenderPassSampleLocationsBeginInfoEXT* toCount,
    size_t* count);

void count_VkPipelineSampleLocationsStateCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineSampleLocationsStateCreateInfoEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceSampleLocationsPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSampleLocationsPropertiesEXT* toCount,
    size_t* count);

void count_VkMultisamplePropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMultisamplePropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_blend_operation_advanced
void count_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* toCount,
    size_t* count);

void count_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineColorBlendAdvancedStateCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NV_fragment_coverage_to_color
void count_VkPipelineCoverageToColorStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineCoverageToColorStateCreateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_framebuffer_mixed_samples
void count_VkPipelineCoverageModulationStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineCoverageModulationStateCreateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_fill_rectangle
#endif
#ifdef VK_NV_shader_sm_builtins
void count_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_post_depth_coverage
#endif
#ifdef VK_EXT_image_drm_format_modifier
void count_VkDrmFormatModifierPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDrmFormatModifierPropertiesEXT* toCount,
    size_t* count);

void count_VkDrmFormatModifierPropertiesListEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDrmFormatModifierPropertiesListEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* toCount,
    size_t* count);

void count_VkImageDrmFormatModifierListCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageDrmFormatModifierListCreateInfoEXT* toCount,
    size_t* count);

void count_VkImageDrmFormatModifierExplicitCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageDrmFormatModifierExplicitCreateInfoEXT* toCount,
    size_t* count);

void count_VkImageDrmFormatModifierPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImageDrmFormatModifierPropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_validation_cache
void count_VkValidationCacheCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkValidationCacheCreateInfoEXT* toCount,
    size_t* count);

void count_VkShaderModuleValidationCacheCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkShaderModuleValidationCacheCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_descriptor_indexing
DEFINE_ALIAS_FUNCTION(count_VkDescriptorSetLayoutBindingFlagsCreateInfo, count_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceDescriptorIndexingFeatures, count_VkPhysicalDeviceDescriptorIndexingFeaturesEXT);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceDescriptorIndexingProperties, count_VkPhysicalDeviceDescriptorIndexingPropertiesEXT);

DEFINE_ALIAS_FUNCTION(count_VkDescriptorSetVariableDescriptorCountAllocateInfo, count_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT);

DEFINE_ALIAS_FUNCTION(count_VkDescriptorSetVariableDescriptorCountLayoutSupport, count_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT);

#endif
#ifdef VK_EXT_shader_viewport_index_layer
#endif
#ifdef VK_NV_shading_rate_image
void count_VkShadingRatePaletteNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkShadingRatePaletteNV* toCount,
    size_t* count);

void count_VkPipelineViewportShadingRateImageStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineViewportShadingRateImageStateCreateInfoNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceShadingRateImageFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShadingRateImageFeaturesNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceShadingRateImagePropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShadingRateImagePropertiesNV* toCount,
    size_t* count);

void count_VkCoarseSampleLocationNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCoarseSampleLocationNV* toCount,
    size_t* count);

void count_VkCoarseSampleOrderCustomNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCoarseSampleOrderCustomNV* toCount,
    size_t* count);

void count_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_ray_tracing
void count_VkRayTracingShaderGroupCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRayTracingShaderGroupCreateInfoNV* toCount,
    size_t* count);

void count_VkRayTracingPipelineCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRayTracingPipelineCreateInfoNV* toCount,
    size_t* count);

void count_VkGeometryTrianglesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkGeometryTrianglesNV* toCount,
    size_t* count);

void count_VkGeometryAABBNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkGeometryAABBNV* toCount,
    size_t* count);

void count_VkGeometryDataNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkGeometryDataNV* toCount,
    size_t* count);

void count_VkGeometryNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkGeometryNV* toCount,
    size_t* count);

void count_VkAccelerationStructureInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureInfoNV* toCount,
    size_t* count);

void count_VkAccelerationStructureCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureCreateInfoNV* toCount,
    size_t* count);

void count_VkBindAccelerationStructureMemoryInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindAccelerationStructureMemoryInfoNV* toCount,
    size_t* count);

void count_VkWriteDescriptorSetAccelerationStructureNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkWriteDescriptorSetAccelerationStructureNV* toCount,
    size_t* count);

void count_VkAccelerationStructureMemoryRequirementsInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureMemoryRequirementsInfoNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceRayTracingPropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceRayTracingPropertiesNV* toCount,
    size_t* count);

void count_VkTransformMatrixKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkTransformMatrixKHR* toCount,
    size_t* count);

DEFINE_ALIAS_FUNCTION(count_VkTransformMatrixKHR, count_VkTransformMatrixNV);

void count_VkAabbPositionsKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAabbPositionsKHR* toCount,
    size_t* count);

DEFINE_ALIAS_FUNCTION(count_VkAabbPositionsKHR, count_VkAabbPositionsNV);

void count_VkAccelerationStructureInstanceKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureInstanceKHR* toCount,
    size_t* count);

DEFINE_ALIAS_FUNCTION(count_VkAccelerationStructureInstanceKHR, count_VkAccelerationStructureInstanceNV);

#endif
#ifdef VK_NV_representative_fragment_test
void count_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* toCount,
    size_t* count);

void count_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_filter_cubic
void count_VkPhysicalDeviceImageViewImageFormatInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceImageViewImageFormatInfoEXT* toCount,
    size_t* count);

void count_VkFilterCubicImageViewImageFormatPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFilterCubicImageViewImageFormatPropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_QCOM_render_pass_shader_resolve
#endif
#ifdef VK_EXT_global_priority
void count_VkDeviceQueueGlobalPriorityCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceQueueGlobalPriorityCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_external_memory_host
void count_VkImportMemoryHostPointerInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportMemoryHostPointerInfoEXT* toCount,
    size_t* count);

void count_VkMemoryHostPointerPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryHostPointerPropertiesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_buffer_marker
#endif
#ifdef VK_AMD_pipeline_compiler_control
void count_VkPipelineCompilerControlCreateInfoAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineCompilerControlCreateInfoAMD* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_calibrated_timestamps
void count_VkCalibratedTimestampInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCalibratedTimestampInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_shader_core_properties
void count_VkPhysicalDeviceShaderCorePropertiesAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderCorePropertiesAMD* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_memory_overallocation_behavior
void count_VkDeviceMemoryOverallocationCreateInfoAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceMemoryOverallocationCreateInfoAMD* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_vertex_attribute_divisor
void count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toCount,
    size_t* count);

void count_VkVertexInputBindingDivisorDescriptionEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkVertexInputBindingDivisorDescriptionEXT* toCount,
    size_t* count);

void count_VkPipelineVertexInputDivisorStateCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineVertexInputDivisorStateCreateInfoEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_GGP_frame_token
void count_VkPresentFrameTokenGGP(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPresentFrameTokenGGP* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_pipeline_creation_feedback
void count_VkPipelineCreationFeedbackEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineCreationFeedbackEXT* toCount,
    size_t* count);

void count_VkPipelineCreationFeedbackCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineCreationFeedbackCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NV_shader_subgroup_partitioned
#endif
#ifdef VK_NV_compute_shader_derivatives
void count_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_mesh_shader
void count_VkPhysicalDeviceMeshShaderFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMeshShaderFeaturesNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceMeshShaderPropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMeshShaderPropertiesNV* toCount,
    size_t* count);

void count_VkDrawMeshTasksIndirectCommandNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDrawMeshTasksIndirectCommandNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_fragment_shader_barycentric
void count_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_shader_image_footprint
void count_VkPhysicalDeviceShaderImageFootprintFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderImageFootprintFeaturesNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_scissor_exclusive
void count_VkPipelineViewportExclusiveScissorStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineViewportExclusiveScissorStateCreateInfoNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceExclusiveScissorFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceExclusiveScissorFeaturesNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_device_diagnostic_checkpoints
void count_VkQueueFamilyCheckpointPropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkQueueFamilyCheckpointPropertiesNV* toCount,
    size_t* count);

void count_VkCheckpointDataNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCheckpointDataNV* toCount,
    size_t* count);

#endif
#ifdef VK_INTEL_shader_integer_functions2
void count_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* toCount,
    size_t* count);

#endif
#ifdef VK_INTEL_performance_query
void count_VkPerformanceValueDataINTEL(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceValueDataINTEL* toCount,
    size_t* count);

void count_VkPerformanceValueINTEL(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceValueINTEL* toCount,
    size_t* count);

void count_VkInitializePerformanceApiInfoINTEL(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkInitializePerformanceApiInfoINTEL* toCount,
    size_t* count);

void count_VkQueryPoolPerformanceQueryCreateInfoINTEL(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkQueryPoolPerformanceQueryCreateInfoINTEL* toCount,
    size_t* count);

DEFINE_ALIAS_FUNCTION(count_VkQueryPoolPerformanceQueryCreateInfoINTEL, count_VkQueryPoolCreateInfoINTEL);

void count_VkPerformanceMarkerInfoINTEL(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceMarkerInfoINTEL* toCount,
    size_t* count);

void count_VkPerformanceStreamMarkerInfoINTEL(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceStreamMarkerInfoINTEL* toCount,
    size_t* count);

void count_VkPerformanceOverrideInfoINTEL(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceOverrideInfoINTEL* toCount,
    size_t* count);

void count_VkPerformanceConfigurationAcquireInfoINTEL(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPerformanceConfigurationAcquireInfoINTEL* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_pci_bus_info
void count_VkPhysicalDevicePCIBusInfoPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePCIBusInfoPropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_display_native_hdr
void count_VkDisplayNativeHdrSurfaceCapabilitiesAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDisplayNativeHdrSurfaceCapabilitiesAMD* toCount,
    size_t* count);

void count_VkSwapchainDisplayNativeHdrCreateInfoAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSwapchainDisplayNativeHdrCreateInfoAMD* toCount,
    size_t* count);

#endif
#ifdef VK_FUCHSIA_imagepipe_surface
void count_VkImagePipeSurfaceCreateInfoFUCHSIA(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImagePipeSurfaceCreateInfoFUCHSIA* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_metal_surface
void count_VkMetalSurfaceCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMetalSurfaceCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_fragment_density_map
void count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* toCount,
    size_t* count);

void count_VkRenderPassFragmentDensityMapCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRenderPassFragmentDensityMapCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_scalar_block_layout
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceScalarBlockLayoutFeatures, count_VkPhysicalDeviceScalarBlockLayoutFeaturesEXT);

#endif
#ifdef VK_GOOGLE_hlsl_functionality1
#endif
#ifdef VK_GOOGLE_decorate_string
#endif
#ifdef VK_EXT_subgroup_size_control
void count_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* toCount,
    size_t* count);

void count_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_shader_core_properties2
void count_VkPhysicalDeviceShaderCoreProperties2AMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderCoreProperties2AMD* toCount,
    size_t* count);

#endif
#ifdef VK_AMD_device_coherent_memory
void count_VkPhysicalDeviceCoherentMemoryFeaturesAMD(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceCoherentMemoryFeaturesAMD* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_shader_image_atomic_int64
void count_VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_memory_budget
void count_VkPhysicalDeviceMemoryBudgetPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMemoryBudgetPropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_memory_priority
void count_VkPhysicalDeviceMemoryPriorityFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceMemoryPriorityFeaturesEXT* toCount,
    size_t* count);

void count_VkMemoryPriorityAllocateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkMemoryPriorityAllocateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NV_dedicated_allocation_image_aliasing
void count_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_buffer_device_address
void count_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* toCount,
    size_t* count);

DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, count_VkPhysicalDeviceBufferAddressFeaturesEXT);

DEFINE_ALIAS_FUNCTION(count_VkBufferDeviceAddressInfo, count_VkBufferDeviceAddressInfoEXT);

void count_VkBufferDeviceAddressCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBufferDeviceAddressCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_tooling_info
void count_VkPhysicalDeviceToolPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceToolPropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_separate_stencil_usage
DEFINE_ALIAS_FUNCTION(count_VkImageStencilUsageCreateInfo, count_VkImageStencilUsageCreateInfoEXT);

#endif
#ifdef VK_EXT_validation_features
void count_VkValidationFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkValidationFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NV_cooperative_matrix
void count_VkCooperativeMatrixPropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCooperativeMatrixPropertiesNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceCooperativeMatrixFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceCooperativeMatrixFeaturesNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceCooperativeMatrixPropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceCooperativeMatrixPropertiesNV* toCount,
    size_t* count);

#endif
#ifdef VK_NV_coverage_reduction_mode
void count_VkPhysicalDeviceCoverageReductionModeFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceCoverageReductionModeFeaturesNV* toCount,
    size_t* count);

void count_VkPipelineCoverageReductionStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineCoverageReductionStateCreateInfoNV* toCount,
    size_t* count);

void count_VkFramebufferMixedSamplesCombinationNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkFramebufferMixedSamplesCombinationNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_fragment_shader_interlock
void count_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_ycbcr_image_arrays
void count_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_full_screen_exclusive
void count_VkSurfaceFullScreenExclusiveInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSurfaceFullScreenExclusiveInfoEXT* toCount,
    size_t* count);

void count_VkSurfaceCapabilitiesFullScreenExclusiveEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSurfaceCapabilitiesFullScreenExclusiveEXT* toCount,
    size_t* count);

void count_VkSurfaceFullScreenExclusiveWin32InfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSurfaceFullScreenExclusiveWin32InfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_headless_surface
void count_VkHeadlessSurfaceCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkHeadlessSurfaceCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_line_rasterization
void count_VkPhysicalDeviceLineRasterizationFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceLineRasterizationFeaturesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceLineRasterizationPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceLineRasterizationPropertiesEXT* toCount,
    size_t* count);

void count_VkPipelineRasterizationLineStateCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineRasterizationLineStateCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_shader_atomic_float
void count_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_host_query_reset
DEFINE_ALIAS_FUNCTION(count_VkPhysicalDeviceHostQueryResetFeatures, count_VkPhysicalDeviceHostQueryResetFeaturesEXT);

#endif
#ifdef VK_EXT_index_type_uint8
void count_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_extended_dynamic_state
void count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_shader_demote_to_helper_invocation
void count_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NV_device_generated_commands
void count_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV* toCount,
    size_t* count);

void count_VkGraphicsShaderGroupCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkGraphicsShaderGroupCreateInfoNV* toCount,
    size_t* count);

void count_VkGraphicsPipelineShaderGroupsCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkGraphicsPipelineShaderGroupsCreateInfoNV* toCount,
    size_t* count);

void count_VkBindShaderGroupIndirectCommandNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindShaderGroupIndirectCommandNV* toCount,
    size_t* count);

void count_VkBindIndexBufferIndirectCommandNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindIndexBufferIndirectCommandNV* toCount,
    size_t* count);

void count_VkBindVertexBufferIndirectCommandNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkBindVertexBufferIndirectCommandNV* toCount,
    size_t* count);

void count_VkSetStateFlagsIndirectCommandNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSetStateFlagsIndirectCommandNV* toCount,
    size_t* count);

void count_VkIndirectCommandsStreamNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkIndirectCommandsStreamNV* toCount,
    size_t* count);

void count_VkIndirectCommandsLayoutTokenNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkIndirectCommandsLayoutTokenNV* toCount,
    size_t* count);

void count_VkIndirectCommandsLayoutCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkIndirectCommandsLayoutCreateInfoNV* toCount,
    size_t* count);

void count_VkGeneratedCommandsInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkGeneratedCommandsInfoNV* toCount,
    size_t* count);

void count_VkGeneratedCommandsMemoryRequirementsInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkGeneratedCommandsMemoryRequirementsInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_texel_buffer_alignment
void count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_QCOM_render_pass_transform
void count_VkRenderPassTransformBeginInfoQCOM(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRenderPassTransformBeginInfoQCOM* toCount,
    size_t* count);

void count_VkCommandBufferInheritanceRenderPassTransformInfoQCOM(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCommandBufferInheritanceRenderPassTransformInfoQCOM* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_device_memory_report
void count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* toCount,
    size_t* count);

void count_VkDeviceMemoryReportCallbackDataEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceMemoryReportCallbackDataEXT* toCount,
    size_t* count);

void count_VkDeviceDeviceMemoryReportCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceDeviceMemoryReportCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_robustness2
void count_VkPhysicalDeviceRobustness2FeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceRobustness2FeaturesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceRobustness2PropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceRobustness2PropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_custom_border_color
void count_VkSamplerCustomBorderColorCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkSamplerCustomBorderColorCreateInfoEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceCustomBorderColorPropertiesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceCustomBorderColorFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_GOOGLE_user_type
#endif
#ifdef VK_EXT_private_data
void count_VkPhysicalDevicePrivateDataFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePrivateDataFeaturesEXT* toCount,
    size_t* count);

void count_VkDevicePrivateDataCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDevicePrivateDataCreateInfoEXT* toCount,
    size_t* count);

void count_VkPrivateDataSlotCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPrivateDataSlotCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_pipeline_creation_cache_control
void count_VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_NV_device_diagnostics_config
void count_VkPhysicalDeviceDiagnosticsConfigFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceDiagnosticsConfigFeaturesNV* toCount,
    size_t* count);

void count_VkDeviceDiagnosticsConfigCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceDiagnosticsConfigCreateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_QCOM_render_pass_store_ops
#endif
#ifdef VK_NV_fragment_shading_rate_enums
void count_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV* toCount,
    size_t* count);

void count_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV* toCount,
    size_t* count);

void count_VkPipelineFragmentShadingRateEnumStateCreateInfoNV(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPipelineFragmentShadingRateEnumStateCreateInfoNV* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_fragment_density_map2
void count_VkPhysicalDeviceFragmentDensityMap2FeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT* toCount,
    size_t* count);

void count_VkPhysicalDeviceFragmentDensityMap2PropertiesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_QCOM_rotated_copy_commands
void count_VkCopyCommandTransformInfoQCOM(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCopyCommandTransformInfoQCOM* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_image_robustness
void count_VkPhysicalDeviceImageRobustnessFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceImageRobustnessFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_4444_formats
void count_VkPhysicalDevice4444FormatsFeaturesEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDevice4444FormatsFeaturesEXT* toCount,
    size_t* count);

#endif
#ifdef VK_EXT_directfb_surface
void count_VkDirectFBSurfaceCreateInfoEXT(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDirectFBSurfaceCreateInfoEXT* toCount,
    size_t* count);

#endif
#ifdef VK_GOOGLE_gfxstream
void count_VkImportColorBufferGOOGLE(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportColorBufferGOOGLE* toCount,
    size_t* count);

void count_VkImportBufferGOOGLE(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportBufferGOOGLE* toCount,
    size_t* count);

void count_VkImportPhysicalAddressGOOGLE(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkImportPhysicalAddressGOOGLE* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_acceleration_structure
void count_VkDeviceOrHostAddressKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceOrHostAddressKHR* toCount,
    size_t* count);

void count_VkDeviceOrHostAddressConstKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkDeviceOrHostAddressConstKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureBuildRangeInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureBuildRangeInfoKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureGeometryTrianglesDataKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureGeometryTrianglesDataKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureGeometryAabbsDataKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureGeometryAabbsDataKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureGeometryInstancesDataKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureGeometryInstancesDataKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureGeometryDataKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureGeometryDataKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureGeometryKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureGeometryKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureBuildGeometryInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureBuildGeometryInfoKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureCreateInfoKHR* toCount,
    size_t* count);

void count_VkWriteDescriptorSetAccelerationStructureKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkWriteDescriptorSetAccelerationStructureKHR* toCount,
    size_t* count);

void count_VkPhysicalDeviceAccelerationStructureFeaturesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceAccelerationStructureFeaturesKHR* toCount,
    size_t* count);

void count_VkPhysicalDeviceAccelerationStructurePropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceAccelerationStructurePropertiesKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureDeviceAddressInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureDeviceAddressInfoKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureVersionInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureVersionInfoKHR* toCount,
    size_t* count);

void count_VkCopyAccelerationStructureToMemoryInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCopyAccelerationStructureToMemoryInfoKHR* toCount,
    size_t* count);

void count_VkCopyMemoryToAccelerationStructureInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCopyMemoryToAccelerationStructureInfoKHR* toCount,
    size_t* count);

void count_VkCopyAccelerationStructureInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkCopyAccelerationStructureInfoKHR* toCount,
    size_t* count);

void count_VkAccelerationStructureBuildSizesInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkAccelerationStructureBuildSizesInfoKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_ray_tracing_pipeline
void count_VkRayTracingShaderGroupCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRayTracingShaderGroupCreateInfoKHR* toCount,
    size_t* count);

void count_VkRayTracingPipelineInterfaceCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRayTracingPipelineInterfaceCreateInfoKHR* toCount,
    size_t* count);

void count_VkRayTracingPipelineCreateInfoKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkRayTracingPipelineCreateInfoKHR* toCount,
    size_t* count);

void count_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceRayTracingPipelineFeaturesKHR* toCount,
    size_t* count);

void count_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceRayTracingPipelinePropertiesKHR* toCount,
    size_t* count);

void count_VkStridedDeviceAddressRegionKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkStridedDeviceAddressRegionKHR* toCount,
    size_t* count);

void count_VkTraceRaysIndirectCommandKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkTraceRaysIndirectCommandKHR* toCount,
    size_t* count);

#endif
#ifdef VK_KHR_ray_query
void count_VkPhysicalDeviceRayQueryFeaturesKHR(
    uint32_t featureBits,
    VkStructureType rootType,
    const VkPhysicalDeviceRayQueryFeaturesKHR* toCount,
    size_t* count);

#endif

} // namespace goldfish_vk
